package org.code.boot.mapper.common;

import java.util.List;
import org.code.boot.domain.common.ComComment;

/**
 * 通用评论Mapper接口
 * 
 * @author ruoyi
 * @date 2023-08-27
 */
public interface ComCommentMapper
{
    /**
     * 查询通用评论
     * 
     * @param commentId 通用评论主键
     * @return 通用评论
     */
    public ComComment selectBizCommentByCommentId(Long commentId);

    /**
     * 查询通用评论列表
     * 
     * @param comComment 通用评论
     * @return 通用评论集合
     */
    public List<ComComment> selectBizCommentList(ComComment comComment);

    /**
     * 新增通用评论
     * 
     * @param comComment 通用评论
     * @return 结果
     */
    public int insertBizComment(ComComment comComment);

    /**
     * 修改通用评论
     * 
     * @param comComment 通用评论
     * @return 结果
     */
    public int updateBizComment(ComComment comComment);

    /**
     * 删除通用评论
     * 
     * @param commentId 通用评论主键
     * @return 结果
     */
    public int deleteBizCommentByCommentId(Long commentId);

    /**
     * 批量删除通用评论
     * 
     * @param commentIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBizCommentByCommentIds(Long[] commentIds);

    /**
     * 查询业务评论树形结构
     * 
     * @param businessType 业务类型
     * @param businessId 业务ID
     * @return 评论集合
     */
    public List<ComComment> selectCommentTree(String businessType, Long businessId);

    /**
     * 更新回复数量
     * 
     * @param commentId 评论ID
     * @param increment 增量（1或-1）
     * @return 结果
     */
    public int updateReplyCount(Long commentId, int increment);

    /**
     * 更新点赞数量
     * 
     * @param commentId 评论ID
     * @param increment 增量（1或-1）
     * @return 结果
     */
    public int updateLikeCount(Long commentId, int increment);
}